package com.lmabbe.core.common.interfaces;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lmabbe.core.common.entitys.SysRole;
import com.lmabbe.core.common.entitys.SysUser;
import com.lmabbe.core.common.query.SysUserQuery;

/**
 * @author lmabbe
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 根据账号查找
     *
     * @param userAccount
     * @return
     */
    SysUser findByUserAccount(String userAccount);

    /**
     * 根据手机号查找
     *
     * @param mobile
     * @return
     */
    SysUser findByUserMobile(String mobile);

    /**
     * 分页查询
     *
     * @param query 分页查询参数
     * @return
     */
    IPage selectPage(SysUserQuery query);

    /**
     * 获取用户权限
     *
     * @param userId : 用户ID
     * @return {@link SysRole}
     * @date 2022/2/8 4:22 PM
     * @author liming
     */
    SysRole getUserRole(Long userId);
}